package jmine.tec.script.persistent.context;

import jmine.tec.script.ScriptExecutor;

/**
 * Regra que define o executor que será utilizado para um script de uma linguagem para um propósito específico. Definição necessária apenas
 * quando o executor padrão para a linguagem não for adequado para a finalidade. O uso deve ser evitado, pois cada linguagem define um
 * executor apropriado, mas pode ser útil para usar executores específicos para um determinado uso.
 * 
 * @author lundberg
 */
public class ScriptExecutorRule {

    private String finalidade;

    private String linguagem;

    private Class<? extends ScriptExecutor> executor;

    /**
     * @return the finalidade
     */
    public String getFinalidade() {
        return this.finalidade;
    }

    /**
     * @return the linguagem
     */
    public String getLinguagem() {
        return this.linguagem;
    }

    /**
     * @return the executor
     */
    public Class<? extends ScriptExecutor> getExecutor() {
        return this.executor;
    }

    /**
     * @param finalidade the finalidade to set
     */
    public void setFinalidade(String finalidade) {
        this.finalidade = finalidade;
    }

    /**
     * @param linguagem the linguagem to set
     */
    public void setLinguagem(String linguagem) {
        this.linguagem = linguagem;
    }

    /**
     * @param executor the executor to set
     */
    public void setExecutor(Class<? extends ScriptExecutor> executor) {
        this.executor = executor;
    }
}
